home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
SWAG
/
SWAGA_C
/
COMM.SWG
/
0013_Is Modem Ringing ??.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-05-28
|
1KB
|
51 lines
Function ModemRinging(Port : Word) : Boolean; { through the BIOS }
Var
Dummy : Byte;
begin
Asm
dec port
mov ah,03h
mov dx,port
int 14h
mov dummy,al
end;
ModemRinging := (Dummy and RI) = RI { ring indicated }
end;
or
Function ModemRinging(Port : Byte) : Boolean; { direct port access }
Const
RI = $40;
begin
Case Port of
1 : ModemRinging := ($3FE and RI) = RI; { com 1 }
2 : ModemRinging := ($2FE and RI) = RI { com 2 }
end
end;
Function PhoneRinging(ComPort: Integer): Boolean;
begin
Case ComPort Of
1: PhoneRinging := (Port[$3FE] And 64) = 64;
2: PhoneRinging := (Port[$2FE] And 64) = 64;
3: PhoneRinging := (Port[$3EE] And 64) = 64;
4: PhoneRinging := (Port[$2EE] And 64) = 64;
Else
PhoneRinging := False;
end;
end;
Function returns True if phone is ringing. Hope it helps.
{
> Function returns True if phone is ringing. Hope it helps.
Just nitpicking but...
PhoneRinging:=(Port[$3FE] and 64)<>0
is more efficient, as is
PhoneRinging:=Boolean(Port[$3FE] and 64)
}